<html>
<head><meta charset="utf-8"><title>Obligation processing · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html">Obligation processing</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="212506152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/212506152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tyson Nottingham <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#212506152">(Oct 07 2020 at 01:32)</a>:</h4>
<p>Anyone familiar with the ObligationForest code? I'm looking at <code>process_obligations</code> and <code>mark_successes</code> in particular.</p>
<p>It strikes me as odd that the latter only transitions nodes back to <code>Waiting</code> if they have subobligations in the <code>Pending</code> state. I would think that subobligations that end up being in the <code>Waiting</code> state should cause obligations that depend on them to transition back to <code>Waiting</code> as well. What am I missing?</p>
<p>Also, do we expect the ObligationForest code to be replaced with Chalk code in the near future? Just curious if it's worthwhile to spend time in this area.</p>



<a name="212506309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/212506309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#212506309">(Oct 07 2020 at 01:35)</a>:</h4>
<blockquote>
<p>ObligationForest</p>
</blockquote>
<p>what an interesting mental image</p>



<a name="212513903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/212513903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tyson Nottingham <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#212513903">(Oct 07 2020 at 04:19)</a>:</h4>
<p>Whoops, nevermind. I can see now  that it does move obligations back to <code>Waiting</code> if they depend on subobligations in <code>Waiting</code>. <span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="212522395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/212522395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#212522395">(Oct 07 2020 at 07:22)</a>:</h4>
<p>There is <a href="https://github.com/rust-lang/rust/issues/69218">#69218</a>, which will change the obligation forest to keep track of which inference variables changed in case you are interested</p>



<a name="212523525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/212523525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Tyson Nottingham <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#212523525">(Oct 07 2020 at 07:36)</a>:</h4>
<p>Yes, thank you, that is very good to know about</p>



<a name="213737479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Obligation%20processing/near/213737479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Obligation.20processing.html#213737479">(Oct 19 2020 at 02:17)</a>:</h4>
<p>An obligation forest.<br>
A collections copse.<br>
A duty woodland.<br>
A debt orchard.<br>
Aogirihara.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>